package pe.com.gintelligence.bean;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Movimiento entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "movimiento", catalog = "sinventario")
public class Movimiento implements java.io.Serializable {

	// Fields

	private Integer pkMovimiento;
	private Integer fkTipomovimiento;
	private Integer fkProducto;
	private Integer fkPresentacion;
	private Long precio;
	private Integer cantidad;
	private Integer unidadporpresentacion;
	private String observacion;
	private Date fechaMovimiento;
	private Date fecharegistro;

	// Constructors

	/** default constructor */
	public Movimiento() {
	}

	/** minimal constructor */
	public Movimiento(Integer fkTipomovimiento, Integer fkProducto,
			Integer fkPresentacion, Long precio, Integer cantidad,
			Date fechaMovimiento, Date fecharegistro) {
		this.fkTipomovimiento = fkTipomovimiento;
		this.fkProducto = fkProducto;
		this.fkPresentacion = fkPresentacion;
		this.precio = precio;
		this.cantidad = cantidad;
		this.fechaMovimiento = fechaMovimiento;
		this.fecharegistro = fecharegistro;
	}

	/** full constructor */
	public Movimiento(Integer fkTipomovimiento, Integer fkProducto,
			Integer fkPresentacion, Long precio, Integer cantidad,
			Integer unidadporpresentacion, String observacion,
			Date fechaMovimiento, Date fecharegistro) {
		this.fkTipomovimiento = fkTipomovimiento;
		this.fkProducto = fkProducto;
		this.fkPresentacion = fkPresentacion;
		this.precio = precio;
		this.cantidad = cantidad;
		this.unidadporpresentacion = unidadporpresentacion;
		this.observacion = observacion;
		this.fechaMovimiento = fechaMovimiento;
		this.fecharegistro = fecharegistro;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "pk_movimiento", unique = true, nullable = false)
	public Integer getPkMovimiento() {
		return this.pkMovimiento;
	}

	public void setPkMovimiento(Integer pkMovimiento) {
		this.pkMovimiento = pkMovimiento;
	}

	@Column(name = "fk_tipomovimiento", nullable = false)
	public Integer getFkTipomovimiento() {
		return this.fkTipomovimiento;
	}

	public void setFkTipomovimiento(Integer fkTipomovimiento) {
		this.fkTipomovimiento = fkTipomovimiento;
	}

	@Column(name = "fk_producto", nullable = false)
	public Integer getFkProducto() {
		return this.fkProducto;
	}

	public void setFkProducto(Integer fkProducto) {
		this.fkProducto = fkProducto;
	}

	@Column(name = "fk_presentacion", nullable = false)
	public Integer getFkPresentacion() {
		return this.fkPresentacion;
	}

	public void setFkPresentacion(Integer fkPresentacion) {
		this.fkPresentacion = fkPresentacion;
	}

	@Column(name = "precio", nullable = false, precision = 10, scale = 0)
	public Long getPrecio() {
		return this.precio;
	}

	public void setPrecio(Long precio) {
		this.precio = precio;
	}

	@Column(name = "cantidad", nullable = false)
	public Integer getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	@Column(name = "unidadporpresentacion")
	public Integer getUnidadporpresentacion() {
		return this.unidadporpresentacion;
	}

	public void setUnidadporpresentacion(Integer unidadporpresentacion) {
		this.unidadporpresentacion = unidadporpresentacion;
	}

	@Column(name = "observacion", length = 140)
	public String getObservacion() {
		return this.observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_movimiento", nullable = false, length = 19)
	public Date getFechaMovimiento() {
		return this.fechaMovimiento;
	}

	public void setFechaMovimiento(Date fechaMovimiento) {
		this.fechaMovimiento = fechaMovimiento;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecharegistro", nullable = false, length = 19)
	public Date getFecharegistro() {
		return this.fecharegistro;
	}

	public void setFecharegistro(Date fecharegistro) {
		this.fecharegistro = fecharegistro;
	}

}